package xyz.yuanjilu.service;

import xyz.yuanjilu.entity.WeixinConfigEntity;
import xyz.yuanjilu.plug.MPPlug;

import java.util.List;
import java.util.Map;

import com.riversoft.weixin.common.menu.Menu;
import com.riversoft.weixin.common.message.XmlMessageHeader;
import com.riversoft.weixin.mp.base.AppSetting;

/**
 * 微信配置
 * 
 * @author CHENJUNFEI
 * @email kkomge@qq.com
 * @date 2017-08-23 11:11:23
 */
public interface WeixinConfigService {
	
	WeixinConfigEntity queryObject(Long id);
	
	List<WeixinConfigEntity> queryList(Map<String, Object> map);
	
	int queryTotal(Map<String, Object> map);
	
	void save(WeixinConfigEntity weixinConfig);
	
	void update(WeixinConfigEntity weixinConfig);
	
	void delete(Long id);
	
	void deleteBatch(Long[] ids);
	
	WeixinConfigEntity queryObjectByWeixinCode(String weixinCode);
	Menu  getMenus(Long id);
	AppSetting getAppSetting(Long id);
	AppSetting getAppSetting(String weixinCode);
	AppSetting getAppSetting(WeixinConfigEntity weixinConfigEntity);
	String getWelCome(WeixinConfigEntity weixinConfigEntity);

	String getPlugDescribe(WeixinConfigEntity weixinConfigEntity);

	List<MPPlug> getMPPlug(WeixinConfigEntity weixinConfigEntity);

	XmlMessageHeader handle(String weixinUserId,XmlMessageHeader xmlRequest,XmlMessageHeader xmlResponse,WeixinConfigEntity weixinConfigEntity);

	boolean superXmlMessageHeader(XmlMessageHeader xmlRequest, WeixinConfigEntity weixinConfigEntity);

	public XmlMessageHeader getErrorMessage(XmlMessageHeader xmlRequest,WeixinConfigEntity weixinConfigEntity);
}
